#include <stdio.h>
#include <string.h>


// struct RTK {
// 	unsigned char  head[2];         //2 bytes    deviation 0 
// 	unsigned short int  Version;     //2 bytes    deviation 2 
// 	unsigned short int  Length;     //2 bytes    deviation 4 
// 	unsigned short int  Freq;      //2 bytes    deviation 6 
// 	float Time_utc;            //4 bytes    deviation 8 
// 	unsigned short int Year_utc;      //2 bytes    deviation 12 
// 	unsigned short int Month_utc;     //2 bytes    deviation 14 
// 	unsigned short int Day_utc;      //2 bytes    deviation 16 
// 	unsigned short int Hour_utc;      //2 bytes    deviation 18 
// 	unsigned short int Min_utc;      //2 bytes    deviation 20 
// 	unsigned short int Sec_utc;      //2 bytes    deviation 22 
// 	double Lat;            //8 bytes    deviation 24 
// 	double Lon;          //8 bytes    deviation 32 
// 	double Alt;            //8 bytes    deviation 40 
// 	float Eph;              //4 bytes    deviation 48 
// 	float Epv;              //4 bytes    deviation 52 
// 	float Vel_earth;            //4 bytes    deviation 56 
// 	float Angle_TrackTrue;        //4 bytes    deviation 60 
// 	float Angle_Heading;         //4 bytes    deviation 64 
// 	float Angle_Pitch;          //4 bytes    deviation 68 
// 	double Vel_n;            //8 bytes    deviation 72 
// 	double Vel_e;            //8 bytes    deviation 80 
// 	double Vel_d;            //8 bytes    deviation 88 
// 	unsigned short int Satellites_used;    //2 bytes    deviation 96 
// 	unsigned short int Satellites_track;   //2 bytes    deviation 98 
// 	float Vel_ned_valid;          //4 bytes    deviation 100 
// 	unsigned short int Fix_type;        //2 bytes    deviation 104 
// 	float Head_state;         //4 bytes      deviation 106 
// 	float Head_deviation;         //4 bytes      deviation 110 
// 	unsigned short int INS_state;      //2 bytes    deviation 114 
// 	//double  GNSS_Alt_delta ;      //8 bytes deviation 116 
// 	//double Ellipsoidal_H;        //8 bytes      deviation 124 
// 	//unsigned char reserve[2];       //4 bytes deviation 132 
// 	unsigned short int Checksum;     //2 bytes    deviation 136 
// 	int Date_cheack;
// };
// RTK RTK_ZHD_Date_Raw{};

// int RTK_ZHD_parseChar(const uint8_t *b)
// {
//     memcpy (&(RTK_ZHD_Date_Raw.Version),b+2,2);
//     memcpy (&(RTK_ZHD_Date_Raw.Length),b+4,2);
//     memcpy (&(RTK_ZHD_Date_Raw.Freq),b+6,2);
//     memcpy (&(RTK_ZHD_Date_Raw.Time_utc),b+8,4);
//     memcpy (&(RTK_ZHD_Date_Raw.Year_utc),b+12,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Month_utc),b+14,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Day_utc),b+16,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Hour_utc),b+18,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Min_utc),b+20,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Sec_utc),b+22,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Lat),b+24,8);
// 	memcpy (&(RTK_ZHD_Date_Raw.Lon),b+32,8);
// 	memcpy (&(RTK_ZHD_Date_Raw.Alt),b+40,8);
// 	memcpy (&(RTK_ZHD_Date_Raw.Eph),b+48,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.Epv),b+52,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.Vel_earth),b+56,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.Angle_TrackTrue),b+60,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.Angle_Heading),b+64,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.Angle_Pitch),b+68,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.Vel_n),b+72,8);
// 	memcpy (&(RTK_ZHD_Date_Raw.Vel_e),b+80,8);
// 	memcpy (&(RTK_ZHD_Date_Raw.Vel_d),b+88,8);
// 	memcpy (&(RTK_ZHD_Date_Raw.Satellites_used),b+96,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Satellites_track),b+98,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Vel_ned_valid),b+100,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.Fix_type),b+104,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Head_state),b+106,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.Head_deviation),b+110,4);
// 	memcpy (&(RTK_ZHD_Date_Raw.INS_state),b+114,2);
// 	memcpy (&(RTK_ZHD_Date_Raw.Checksum),b+136,2);
// 	return 0;
// }

int main(){
    
    // buf={0xAA,0x33,0x02,0x00,0x88,0x00,0x05,0x00,0x66,0xA6,0xBE,0x46,0xE2,0x07,0x02,0x00,0x03,0x00,0x02,0x00,0x2C,0x00,0x40,0x01,0xF6,0xC8,0x48,0x0F,0x3C,0x30,0x3E,0x40,0x12,0x13,0x38,0x56,0x83,0x08,0x5E,0x40,0x76,0xE0,0x9C,0x11,0xA5,0x7D,0x15,0x40,0x71,0x5B,0xED,0x3F,0xDE,0x02,0xB1,0x3F,0xF8,0xE6,0x55,0x3D,0x98,0xEE,0x6F,0x43,0x44,0x8F,0xA1,0x43,0x20,0xCB,0x32,0xC1,0x28,0xB7,0xBB,0xEC,0xFB,0xC7,0x9A,0xBF,0xD8,0x25,0x40,0xD4,0xC3,0x22,0xA7,0xBF,0x0E,0x7A,0xBF,0x77,0x06,0xAC,0x99,0x3F,0x15,0x00,0x15,0x00,0x00,0x00,0x00,0x41,0x01,0x00,0x00,0x00,0x00,0x42,0xE8,0xA7,0xA8,0x40,0x00,0x00,0x00,0x00,0x00,0x20,0x1F,0x14,0x20,0x40,0x3B,0x70,0xCE,0xA8,0xF1,0xD2,0x2A,0x40,0xFF,0xFF,0xFF,0xFF,0x0E,0x00}
    // RTK_ZHD_parseChar(buf);
    // printf("Version=%d\n",RTK_ZHD_Date_Raw.Version);
    return 0;
}